package a.f.d;

import a.c.ab;
import a.c.bb;
import a.c.e;
import a.c.x;
import a.c.z;
import a.d.s;
import a.f.c.g;
import a.f.c.h;
import a.f.*;
import a.f.o;
import a.i.sb;
import a.i.y;

import java.awt.geom.Rectangle2D;
import java.util.*;

import a.f.d.v;
import a.f.d.u;
import a.i.y;

public class d
  extends c
{
  private h mb;
  private d_ nb;
  private y ob;
  private o pb;
  private a.c.n qb;
  private x rb;
  private x sb;
  x tb;
  private a.c.n ub;
  private a.c.n vb;
  private a.c.n wb;
  private a.c.n xb;
  private a.c.k yb;
  private a.c.k zb;
  private a.c.k Ab;
  private a.c.k Bb;
  private x Cb;
  private x Db;
  private a.c.n Eb;
  private a.c.k Fb;
  private a.c.k Gb;
  private a.c.n Hb;
  private static final cd Ib = cd.a(, true);
  private static final cd Jb = cd.a((byte)2, true);
  private g Kb;
  private rc Lb = new b_();
  private boolean Mb = true;
  static final String Nb = "InEdge";
  static final String Ob = "OutEdge";
  static final String Pb = "TargetInEdge";
  static final String Qb = "SourceOutEdge";
  static final String Rb = "UpperGroupNode";
  static final String Sb = "LowerGroupNode";
  static final String Tb = "LowerDummyNode";
  static final String Ub = "UpperDUmmyNode";
  private boolean Vb;
  public static boolean Wb;
  
  public d()
  {
    d(false);
    this.Vb = true;
    this.nb = new d_();
    this.Kb = new a.f.c.k();
    this.nb.f = super.w();
    this.nb.g = super.x();
    this.nb.h = super.y();
    super.a(this.nb);
    super.a(this.nb);
    super.a(this.nb);
  }
  
  protected h L()
  {
    return this.mb;
  }
  
  public boolean b(o paramo)
  {
    return true;
  }
  
  public void a(o paramo)
  {
    int n = f.o;
    int m = f.n;
    if (n == 0)
    {
      if (!J())
      {
        if (n != 0) {
          break label184;
        }
        if (h.c(paramo)) {
          try
          {
            super.a(this.nb.g);
            super.a(this.nb.f);
            super.a(this.nb.h);
            super.a(paramo);
          }
          finally
          {
            super.a(this.nb);
            super.a(this.nb);
            super.a(this.nb);
          }
        }
      }
      this.mb = new h(paramo);
      this.qb = paramo.C();
      this.rb = paramo.B();
      this.sb = paramo.B();
      this.tb = paramo.B();
      this.Cb = paramo.B();
      this.pb = paramo;
      this.ob = new y(paramo);
    }
    label184:
    Object localObject2 = this.pb.v();
    do
    {
      if (!((a.c.w)localObject2).e()) {
        break;
      }
      if (n != 0) {
        break label259;
      }
      this.Cb.a(((a.c.w)localObject2).d(), c.db);
      ((a.c.w)localObject2).f();
      if (m != 0) {
        break label252;
      }
    } while (m == 0);
    if (n == 0) {
      paramo.a(c.cb, this.Cb);
    }
    label252:
    a.c.k localk = paramo.c(oc.a);
    label259:
    if (n == 0)
    {
      if (localk != null) {
        this.Hb = paramo.C();
      }
    }
    else
    {
      localObject2 = new sb(this.Hb, paramo, oc.a);
      break label298;
    }
    localObject2 = null;
    label298:
    this.ub = paramo.C();
    sb localsb1 = new sb(this.ub, paramo, ed.a);
    this.yb = localsb1.c();
    this.vb = paramo.C();
    sb localsb2 = new sb(this.vb, paramo, ed.b);
    this.zb = localsb2.c();
    sb localsb4;
    if (n == 0) {
      if ((this.Ab = paramo.c(ed.c)) != null)
      {
        this.wb = paramo.C();
        localsb3 = new sb(this.wb, paramo, ed.c);
        if ((n != 0) || ((this.Bb = paramo.c(ed.d)) != null))
        {
          this.xb = paramo.C();
          localsb4 = new sb(this.xb, paramo, ed.d);
          if (n != 0) {
            break label572;
          }
          if (m == 0) {
            break label550;
          }
        }
        throw new IllegalStateException("No DataProvider " + ed.d + " bound to graph!");
      }
    }
    if (paramo.c(ed.d) != null) {
      throw new IllegalStateException("No DataProvider " + ed.c + " bound to graph!");
    }
    sb localsb3 = localsb4 = null;
    label550:
    this.Fb = paramo.c(rc.a);
    this.Gb = paramo.c(rc.b);
    label572:
    Object localObject4;
    if ((n != 0) || ((this.Fb == null) && ((n != 0) || (this.Gb == null))))
    {
      if (n != 0) {
        break label798;
      }
      if (R())
      {
        this.Fb = paramo.B();
        localObject4 = paramo.v();
        if (((a.c.w)localObject4).e()) {}
        while (n != 0)
        {
          ((x)this.Fb).a(((a.c.w)localObject4).d(), ((a.c.w)localObject4).d());
          ((a.c.w)localObject4).f();
          if ((n == 0) && (m != 0)) {
            break label693;
          }
          if (m == 0) {
            break;
          }
        }
        this.Gb = paramo.C();
        label693:
        localObject4 = paramo.w();
        if (((a.c.m)localObject4).e())
        {
          ((a.c.n)this.Gb).a(((a.c.m)localObject4).a(), ((a.c.m)localObject4).a());
          ((a.c.m)localObject4).f();
        }
        for (;;)
        {
          if (n == 0) {
            if (m == 0)
            {
              if (m == 0) {
                break;
              }
              paramo.a(rc.a, this.Fb);
              if (n != 0) {
                continue;
              }
              paramo.a(rc.b, this.Gb);
            }
          }
        }
        i = 1;
        if ((n == 0) && (m == 0)) {
          break label800;
        }
      }
    }
    label798:
    int i = 0;
    label800:
    if ((this.Fb != null) && (((n == 0) && (i != 0)) || ((n != 0) || ((J()) || (R())))))
    {
      localObject4 = new sb(this.Db = paramo.B(), paramo, rc.a);
      if (m == 0) {}
    }
    else
    {
      localObject4 = null;
    }
    sb localsb5;
    if ((this.Gb != null) && (((n == 0) && (i != 0)) || ((n != 0) || ((J()) || (R())))))
    {
      if (n == 0) {
        if (localObject4 == null) {
          throw new IllegalStateException("No DataProvider " + rc.a + " bound to graph!");
        }
      }
      localsb5 = new sb(this.Eb = paramo.C(), paramo, rc.b);
      if (m == 0) {}
    }
    else
    {
      localsb5 = null;
      if (localObject4 != null) {
        throw new IllegalStateException("No DataProvider " + rc.b + " bound to graph!");
      }
    }
    a.c.w localw = paramo.v();
    for (;;)
    {
      Object localObject5;
      Object localObject6;
      if (localw.e())
      {
        e locale = localw.d();
        a_ locala_ = new a_();
        this.rb.a(locale, locala_);
        if (m == 0)
        {
          localObject5 = locale.h();
          do
          {
            if (localObject5 == null) {
              break;
            }
            localObject6 = new c_();
            a((a.c.d)localObject5, (c_)localObject6);
            this.qb.a(localObject5, localObject6);
            localObject5 = ((a.c.d)localObject5).i();
            if (n != 0) {
              break label1145;
            }
            if (m != 0) {
              break label1143;
            }
          } while (m == 0);
          if (n == 0)
          {
            localw.f();
            label1143:
            label1145:
            if (m == 0) {}
          }
        }
      }
      else
      {
        try
        {
          localObject6 = null;
          if (n == 0)
          {
            if (n == 0) {
              if (this.Vb)
              {
                if (n == 0) {}
                k = !J() ? 1 : 0;
                localObject6 = I();
                localObject5 = ((kb)localObject6).b();
                bool1 = ((kb)localObject6).a((byte)1);
                bool2 = ((kb)localObject6).a((byte)2);
                if (n == 0) {}
                j = !bool2 ? 1 : 0;
                break label1257;
              }
            }
            int k = 0;
            int j = 0;
            localObject5 = null;
            boolean bool2 = false;
            boolean bool1 = false;
            label1257:
            if (n == 0)
            {
              if (j != 0)
              {
                Object localObject7 = ((kb)localObject6).a();
                ((kb)localObject6).a(localObject7);
                ((kb)localObject6).a((byte)1, false);
                ((kb)localObject6).a((byte)2, false);
                Map localMap1 = O();
                cb.b_ localb_ = new cb.b_();
                localb_.a = localMap1;
                ((Map)localObject7).put("y.layout.hierarchic.MementoSequencer.SequencerMemento", localb_);
                if (n == 0)
                {
                  if (localObject5 != null)
                  {
                    Map localMap2;
                    Object localObject8;
                    if (n == 0) {
                      if (!bool2)
                      {
                        localMap2 = (Map)localObject5;
                        localObject8 = (cb.b_)localMap2.get("y.layout.hierarchic.MementoSequencer.SequencerMemento");
                        if (n == 0) {
                          if (localObject8 != null)
                          {
                            ((cb.b_)localObject8).a.putAll(localb_.a);
                            if (n != 0) {
                              break label1433;
                            }
                            if (m == 0) {
                              break label1431;
                            }
                          }
                        }
                        ((Map)localObject5).put("y.layout.hierarchic.MementoSequencer.SequencerMemento", localb_);
                      }
                    }
                    if (!bool1)
                    {
                      localMap2 = (Map)localObject5;
                      localObject8 = (lb.a_)localMap2.get("y.layout.hierarchic.MementoLayerer.LayerMemento");
                      lb.a_ locala_1 = (lb.a_)((Map)localObject7).get("y.layout.hierarchic.MementoLayerer.LayerMemento");
                      if (n == 0) {
                        if (localObject8 != null)
                        {
                          ((lb.a_)localObject8).a = Math.max(((lb.a_)localObject8).a, locala_1.a);
                          ((lb.a_)localObject8).c.putAll(locala_1.c);
                          if (n != 0) {
                            break label1551;
                          }
                          if (m == 0) {
                            break label1542;
                          }
                        }
                      }
                      ((Map)localObject5).put("y.layout.hierarchic.MementoLayerer.LayerMemento", locala_1);
                    }
                  }
                  ((kb)localObject6).a((byte)1, true);
                }
                ((kb)localObject6).a((byte)2, true);
              }
              a(this.mb.d(), this.mb.c(this.mb.d()), false);
            }
            label1431:
            label1433:
            if (n == 0) {
              if (j != 0)
              {
                ((kb)localObject6).a((byte)1, bool1);
                ((kb)localObject6).a((byte)2, bool2);
                ((kb)localObject6).a(localObject5);
              }
            }
            label1542:
            label1551:
            if (k != 0) {
              K();
            }
            a(this.mb.d(), 0.0D, 0.0D);
            M();
          }
        }
        finally
        {
          if (n == 0) {
            if (localObject4 != null)
            {
              ((sb)localObject4).b();
              paramo.a(this.Db);
              this.Db = null;
            }
          }
          if ((n != 0) || (localsb5 != null))
          {
            localsb5.b();
            paramo.a(this.Eb);
            this.Eb = null;
          }
          paramo.a(this.qb);
          paramo.a(this.rb);
          paramo.a(this.sb);
          paramo.a(this.tb);
          if (n == 0)
          {
            if (i != 0)
            {
              paramo.j(rc.a);
              paramo.j(rc.b);
              paramo.a(this.Db);
              paramo.a(this.Eb);
            }
            paramo.j(c.cb);
            paramo.a(this.Cb);
            this.Cb = null;
          }
          if (n == 0)
          {
            if (localObject2 != null)
            {
              ((sb)localObject2).b();
              paramo.a(this.Hb);
              this.Hb = null;
            }
            localsb1.b();
            this.pb.a(this.ub);
            this.ub = null;
            localsb2.b();
            this.pb.a(this.vb);
            this.vb = null;
          }
          if (n == 0) {
            if (localsb3 != null)
            {
              localsb3.b();
              this.pb.a(this.wb);
              this.wb = null;
            }
          }
          if ((n != 0) || (localsb4 != null))
          {
            localsb4.b();
            this.pb.a(this.xb);
            this.xb = null;
          }
          this.Ab = null;
          this.Bb = null;
          this.yb = null;
          this.zb = null;
          this.sb = null;
          this.tb = null;
          this.ob = null;
          this.pb = null;
          this.qb = null;
          this.rb = null;
          if (n == 0) {
            if (this.mb != null) {
              this.mb.e();
            }
          }
          this.mb = null;
        }
      }
    }
  }
  
  private void a(a.c.d paramd, c_ paramc_)
  {
    int k = f.o;
    int j = f.n;
    if (k == 0) {
      if (this.mb.a(paramd)) {
        return;
      }
    }
    a.c.k localk = this.pb.c(oc.a);
    if ((k != 0) || (localk != null))
    {
      kc[] arrayOfkc = (kc[])localk.get(paramd);
      if (arrayOfkc == null) {
        return;
      }
      ArrayList localArrayList1 = new ArrayList(4);
      ArrayList localArrayList2 = new ArrayList(4);
      ArrayList localArrayList3 = new ArrayList(4);
      int i = 0;
      label196:
      do
      {
        if (i >= arrayOfkc.length) {
          break;
        }
        kc localkc = arrayOfkc[i];
        fd localfd = localkc.g();
        if (j != 0) {
          break label216;
        }
        if (localfd.j())
        {
          localArrayList1.add(localkc);
          if (k != 0) {
            continue;
          }
          if (j == 0) {}
        }
        else
        {
          if (k == 0) {
            if (localfd.l())
            {
              localArrayList2.add(localkc);
              if (k != 0) {
                continue;
              }
              if (j == 0) {
                break label196;
              }
            }
          }
          localArrayList3.add(localkc);
        }
        i++;
      } while (j == 0);
      if (k == 0) {
        if (localArrayList1.size() > 0) {
          label216:
          paramc_.k = ((kc[])localArrayList1.toArray(new kc[localArrayList1.size()]));
        }
      }
      if (k == 0) {
        if (localArrayList2.size() > 0) {
          paramc_.l = ((kc[])localArrayList2.toArray(new kc[localArrayList2.size()]));
        }
      }
      if (localArrayList3.size() > 0) {
        paramc_.m = ((kc[])localArrayList3.toArray(new kc[localArrayList3.size()]));
      }
    }
  }
  
  private kc[] a(kc[] paramArrayOfkc1, kc[] paramArrayOfkc2)
  {
    int i = f.o;
    if (i == 0) {
      if (paramArrayOfkc1 != null)
      {
        if (i != 0) {
          break label27;
        }
        if (paramArrayOfkc1.length != 0) {
          break label26;
        }
      }
    }
    return paramArrayOfkc2;
    label26:
    label27:
    if (i == 0) {
      if (paramArrayOfkc2 != null)
      {
        if (i != 0) {
          break label52;
        }
        if (paramArrayOfkc2.length != 0) {
          break label47;
        }
      }
    }
    return paramArrayOfkc1;
    label47:
    label52:
    kc[] arrayOfkc = new kc[paramArrayOfkc1.length + paramArrayOfkc2.length];
    System.arraycopy(paramArrayOfkc1, 0, arrayOfkc, 0, paramArrayOfkc1.length);
    System.arraycopy(paramArrayOfkc2, 0, arrayOfkc, paramArrayOfkc1.length, paramArrayOfkc2.length);
    return arrayOfkc;
  }
  
  private void a(e parame, double paramDouble1, double paramDouble2)
  {
    int m = f.o;
    int k = f.n;
    Object localObject1 = this.mb.c(parame).f();
    Object localObject2;
    Object localObject3;
    label169:
    label172:
    label301:
    label303:
    label306:
    do
    {
      if (localObject1 == null) {
        break;
      }
      localObject2 = (e)((a.c.v)localObject1).c();
      this.pb.d((e)localObject2, paramDouble1, paramDouble2);
      if (m != 0) {
        break label345;
      }
      a_ locala_ = (a_)this.rb.get(localObject2);
      if (k != 0) {
        break label342;
      }
      if (this.mb.e((e)localObject2))
      {
        localObject3 = this.pb.d(localObject2);
        if (locala_.a != null)
        {
          double d1 = ((zc)localObject3).a() - locala_.a.getX();
          double d2 = ((zc)localObject3).b() - locala_.a.getY();
          if (m != 0) {
            break label169;
          }
          a((e)localObject2, d1, d2);
          if (k == 0) {
            break label172;
          }
        }
        a((e)localObject2, paramDouble1, paramDouble2);
      }
      localObject3 = ((e)localObject2).h();
      do
      {
        do
        {
          if (localObject3 == null) {
            break label306;
          }
          e locale = ((a.c.d)localObject3).f();
          if (k != 0) {
            break label329;
          }
          if (this.mb.b(locale) == parame)
          {
            zb localzb = this.pb.e(localObject3);
            int j = localzb.a() - 1;
            do
            {
              if (j < 0) {
                break;
              }
              a.d.w localw = localzb.a(j);
              localzb.a(j, localw.a + paramDouble1, localw.b + paramDouble2);
              j--;
              if (m != 0) {
                break label303;
              }
              if (k != 0) {
                break label301;
              }
            } while (k == 0);
          }
        } while (m != 0);
        localObject3 = ((a.c.d)localObject3).i();
      } while (k == 0);
      localObject1 = ((a.c.v)localObject1).a();
      if (m != 0) {
        return;
      }
    } while (k == 0);
    if ((m == 0) && (parame != null))
    {
      label329:
      label342:
      label345:
      localObject1 = (a_)this.rb.get(parame);
      localObject2 = ((a_)localObject1).b;
      if ((m != 0) || (localObject2 != null))
      {
        int i = ((List)localObject2).size() - 1;
        do
        {
          if (i < 0) {
            break;
          }
          localObject3 = (kc)((List)localObject2).get(i);
          ((kc)localObject3).b(((kc)localObject3).d() + paramDouble1, ((kc)localObject3).e() + paramDouble2);
          i--;
        } while (k == 0);
      }
    }
  }
  
  private void M()
  {
    int i1 = f.o;
    int n = f.n;
    z localz1 = new z();
    z localz2 = new z();
    z localz3 = new z();
    a.c.w localw = this.pb.v();
    label80:
    label82:
    label1016:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale1 = localw.d();
      zc localzc1 = this.pb.d(locale1);
      a.c.d locald = locale1.h();
      if (locald != null) {}
      while (i1 != 0)
      {
        zb localzb;
        double d1;
        double d2;
        int k;
        int m;
        do
        {
          c_ localc_ = (c_)this.qb.get(locald);
          List localList1 = localc_.b;
          List localList2;
          zc localzc2;
          Object localObject;
          do
          {
            localList2 = localc_.c;
            if (i1 != 0) {
              break label1133;
            }
            if (n != 0) {
              break label1131;
            }
            if (((i1 != 0) || ((localList1 == null) || ((i1 != 0) || (localList1.size() < 1)))) && (((i1 == 0) && (localList2 == null)) || (localList2.size() < 1))) {
              break;
            }
            e locale2 = locald.f();
            localzc2 = this.pb.d(locale2);
            localzb = this.pb.e(locald);
            localzb.b();
            if (i1 == 0)
            {
              localz3.clear();
              if ((localList1 != null) && ((i1 != 0) || (localList1.size() > 0)))
              {
                localObject = (Point2D.Double)localList1.get(0);
                localzb.a(new a.d.w(((Point2D.Double)localObject).x, ((Point2D.Double)localObject).y));
                localObject.x += localzc1.a() + localzc1.c() * 0.5D;
                localObject.y += localzc1.b() + localzc1.d() * 0.5D;
                int i = 1;
                do
                {
                  if (i >= localList1.size()) {
                    break;
                  }
                  Point2D.Double localDouble2 = (Point2D.Double)localList1.get(i);
                  localDouble2.x = (localObject.x += localDouble2.x);
                  localDouble2.y = (localObject.y += localDouble2.y);
                  localz3.add(localDouble2);
                  i++;
                  if (i1 != 0) {
                    break label1116;
                  }
                  if (n != 0) {
                    break label1114;
                  }
                } while (n == 0);
              }
            }
            localObject = localz3.g();
          } while (i1 != 0);
          if (((i1 != 0) || (localList2 != null)) && ((i1 != 0) || (localList2.size() > 0)))
          {
            Point2D.Double localDouble1 = (Point2D.Double)localList2.get(0);
            localzb.b(new a.d.w(localDouble1.x, localDouble1.y));
            localDouble1.x += localzc2.a() + localzc2.c() * 0.5D;
            localDouble1.y += localzc2.b() + localzc2.d() * 0.5D;
            int j = 1;
            do
            {
              if (j >= localList2.size()) {
                break;
              }
              Point2D.Double localDouble3 = (Point2D.Double)localList2.get(j);
              localDouble3.x = (localDouble1.x += localDouble3.x);
              localDouble3.y = (localDouble1.y += localDouble3.y);
              localz3.b(localDouble3, (a.c.v)localObject);
              j++;
              if (i1 != 0) {
                break label1116;
              }
              if (n != 0) {
                break label1114;
              }
            } while (n == 0);
          }
          a.d.w localw1 = this.pb.r(locald);
          d1 = localw1.a;
          d2 = localw1.b;
          k = 0;
          m = 0;
          a.d.w localw2 = this.pb.s(locald);
          localz3.add(new Point2D.Double(localw2.a, localw2.b));
        } while (i1 != 0);
        a.c.v localv = localz3.f();
        Point2D.Double localDouble4;
        do
        {
          do
          {
            if (localv == null) {
              break label1028;
            }
            localDouble4 = (Point2D.Double)localv.c();
            if (n != 0) {
              break;
            }
            if (Math.abs(localDouble4.x - d1) < 0.001D)
            {
              if (i1 != 0) {
                break label848;
              }
              if (Math.abs(localDouble4.y - d2) < 0.001D)
              {
                if (i1 == 0) {
                  if (localv.b() != null)
                  {
                    localz3.h(localv.b());
                    if (i1 != 0) {
                      continue;
                    }
                    if (n == 0) {
                      break label1016;
                    }
                  }
                }
                localz3.h(localv);
                if (i1 != 0) {
                  continue;
                }
                if (n == 0) {
                  break label1016;
                }
              }
            }
            if (i1 == 0) {
              if (k != 0)
              {
                if (i1 != 0) {
                  break label901;
                }
                if (Math.abs(d2 - localDouble4.y) < 0.001D)
                {
                  localz3.h(localv.b());
                  if (i1 != 0) {
                    break label957;
                  }
                  if (n == 0) {
                    break label942;
                  }
                }
              }
            }
            if (i1 == 0) {
              if (m != 0)
              {
                if (i1 != 0) {
                  break label957;
                }
                if (Math.abs(d1 - localDouble4.x) < 0.001D) {
                  localz3.h(localv.b());
                }
              }
            }
            if (i1 == 0) {}
            k = Math.abs(d2 - localDouble4.y) < 0.001D ? 1 : 0;
            if (i1 == 0) {}
            m = Math.abs(d1 - localDouble4.x) < 0.001D ? 1 : 0;
            d1 = localDouble4.x;
            d2 = localDouble4.y;
            localv = localv.a();
          } while (n == 0);
          localz3.h(localz3.g());
        } while (i1 != 0);
        localv = localz3.f();
        do
        {
          if (localv == null) {
            break;
          }
          localDouble4 = (Point2D.Double)localv.c();
          localzb.a(localDouble4.x, localDouble4.y);
          localv = localv.a();
          if (i1 != 0) {
            break label1116;
          }
          if (n != 0) {
            break label1114;
          }
        } while (n == 0);
        if (i1 != 0) {
          break label82;
        }
        locald = locald.i();
        if (n == 0) {
          break label80;
        }
      }
      localw.f();
    } while (n == 0);
    label848:
    label1114:
    label1116:
    label1131:
    label1133:
    return;
  }
  
  protected Rectangle2D a(e parame, bb parambb, boolean paramBoolean)
  {
    int i1 = f.o;
    int n = f.n;
    if (parambb.isEmpty()) {
      return null;
    }
    if (i1 == 0) {}
    Object localObject1 = parame != null ? null : this.Fb != null ? this.Fb.get(parame) : null;
    Object localObject2 = nb.a("SourceOutEdge", localObject1);
    Object localObject3 = nb.a("TargetInEdge", localObject1);
    HashSet localHashSet = new HashSet();
    Object localObject4 = parambb.f();
    label103:
    Object localObject12;
    Object localObject13;
    Object localObject14;
    label348:
    do
    {
      if (localObject4 == null) {
        break;
      }
      localObject5 = (e)((a.c.v)localObject4).c();
      if (n != 0) {
        break label551;
      }
      localHashSet.add(localObject5);
      for (;;)
      {
        if (i1 == 0)
        {
          if (this.mb.e((e)localObject5))
          {
            if (i1 != 0) {
              break label541;
            }
            if (!paramBoolean)
            {
              localObject6 = a((e)localObject5, this.mb.c((e)localObject5), false);
              if (i1 != 0) {
                break label539;
              }
              if (localObject6 != null)
              {
                if (i1 == 0) {
                  if (this.Mb)
                  {
                    localObject7 = this.pb.d(localObject5);
                    double d1 = ((Rectangle2D)localObject6).getWidth() / ((zc)localObject7).c();
                    double d2 = ((Rectangle2D)localObject6).getHeight() / ((zc)localObject7).d();
                    if (i1 == 0)
                    {
                      if (this.zb != null)
                      {
                        localObject12 = ((e)localObject5).i();
                        do
                        {
                          if (localObject12 == null) {
                            break label348;
                          }
                          localObject13 = (cd)this.zb.get(localObject12);
                          if (i1 != 0) {
                            break label103;
                          }
                          if (n != 0) {
                            break;
                          }
                          if (localObject13 != null)
                          {
                            if (i1 != 0) {
                              continue;
                            }
                            if (((cd)localObject13).a())
                            {
                              localObject14 = this.pb.q((a.c.d)localObject12);
                              this.pb.b((a.c.d)localObject12, new a.d.w(((a.d.w)localObject14).a * d1, ((a.d.w)localObject14).b * d2));
                            }
                          }
                          localObject12 = ((a.c.d)localObject12).j();
                        } while (n == 0);
                      }
                      if (i1 != 0) {
                        break label472;
                      }
                      if (i1 != 0) {
                        break;
                      }
                    }
                    if (this.yb != null)
                    {
                      localObject12 = ((e)localObject5).h();
                      do
                      {
                        if (localObject12 == null) {
                          break label471;
                        }
                        localObject13 = (cd)this.yb.get(localObject12);
                        if (n != 0) {
                          break;
                        }
                        if (localObject13 != null)
                        {
                          if (i1 != 0) {
                            continue;
                          }
                          if (((cd)localObject13).a())
                          {
                            localObject14 = this.pb.p((a.c.d)localObject12);
                            this.pb.a((a.c.d)localObject12, new a.d.w(((a.d.w)localObject14).a * d1, ((a.d.w)localObject14).b * d2));
                          }
                        }
                        localObject12 = ((a.c.d)localObject12).i();
                      } while (n == 0);
                    }
                  }
                }
                localObject7 = this.pb.u((e)localObject5);
                if (i1 != 0) {
                  continue;
                }
                if ((i1 != 0) || (((s)localObject7).b > 1.0D))
                {
                  if (i1 != 0) {
                    break label541;
                  }
                  if (((s)localObject7).b > 1.0D) {}
                }
                else
                {
                  this.pb.b((e)localObject5, 1.01D, 1.01D);
                }
              }
            }
          }
          localObject4 = ((a.c.v)localObject4).a();
        }
      }
    } while (n == 0);
    label471:
    label472:
    localObject4 = new HashSet();
    label539:
    label541:
    label551:
    Object localObject5 = new ab();
    Object localObject6 = parambb.f();
    Object localObject11;
    label1146:
    label1151:
    do
    {
      if (localObject6 == null) {
        break;
      }
      localObject7 = (e)((a.c.v)localObject6).c();
      if (n != 0) {
        break label1977;
      }
      do
      {
        if (this.mb.e((e)localObject7))
        {
          localObject8 = this.mb.g((e)localObject7).f();
          do
          {
            do
            {
              if (localObject8 == null) {
                break label1277;
              }
              localObject9 = (a.c.d)((a.c.v)localObject8).c();
              if (n != 0) {
                break;
              }
              if (!((Set)localObject4).contains(localObject9))
              {
                localObject10 = (c_)this.qb.get(localObject9);
                localObject11 = ((a.c.d)localObject9).e();
                localObject12 = this.mb.a((e)localObject11, parame);
                if (i1 != 0) {
                  continue;
                }
                if ((localObject12 != null) && ((i1 != 0) || (this.mb.b((e)localObject12) == parame)))
                {
                  localObject13 = this.pb.a((e)localObject12, (e)localObject7);
                  if (i1 == 0) {
                    if (this.Eb != null) {
                      this.Eb.a(localObject13, nb.a("InEdge", this.Gb.get(localObject9), this.Fb.get(localObject12), this.Fb.get(localObject7)));
                    }
                  }
                  localObject14 = this.pb.e(localObject13);
                  ((zb)localObject14).b(new a.d.w(((c_)localObject10).e.x, ((c_)localObject10).e.y));
                  this.vb.a(localObject13, Ib);
                  a(this.xb, localObject13, localObject3, this.Bb, localObject9);
                  if (i1 == 0)
                  {
                    if (localObject12 != localObject11)
                    {
                      a(this.wb, localObject13, localObject2, this.Ab, localObject9);
                      this.ub.a(localObject13, Jb);
                      ((zb)localObject14).a(new a.d.w(((c_)localObject10).d.x, ((c_)localObject10).d.y));
                      if (i1 != 0) {
                        break label1252;
                      }
                      if (((c_)localObject10).m != null)
                      {
                        if (i1 != 0) {
                          break label1251;
                        }
                        if (((c_)localObject10).m.length > 0)
                        {
                          this.Hb.a(localObject13, ((c_)localObject10).m);
                          if (i1 != 0) {
                            break label1251;
                          }
                          if (n == 0) {}
                        }
                      }
                    }
                    else
                    {
                      a(this.wb, localObject13, this.Ab, localObject9);
                    }
                  }
                  else
                  {
                    if (((i1 == 0) && ((((c_)localObject10).k != null) && ((i1 == 0) && (((c_)localObject10).k.length > 0)))) || (((i1 != 0) || (((c_)localObject10).m != null)) && ((i1 != 0) || (((c_)localObject10).m.length > 0))))
                    {
                      if ((i1 != 0) || (((c_)localObject10).k != null))
                      {
                        if (((c_)localObject10).m != null)
                        {
                          this.Hb.a(localObject13, a(((c_)localObject10).k, ((c_)localObject10).m));
                          if (i1 == 0) {
                            if (n == 0) {
                              break label1151;
                            }
                          }
                        }
                        else
                        {
                          if (i1 != 0) {
                            break label1146;
                          }
                          this.Hb.a(localObject13, ((c_)localObject10).k);
                        }
                        if (n == 0) {
                          break label1151;
                        }
                      }
                      this.Hb.a(localObject13, ((c_)localObject10).m);
                    }
                    localObject15 = null;
                    if (i1 == 0)
                    {
                      if (this.yb != null) {
                        this.pb.a((a.c.d)localObject13, this.pb.p((a.c.d)localObject9));
                      }
                    }
                    else {
                      localObject15 = this.yb.get(localObject9);
                    }
                    if ((i1 != 0) || ((localObject12 == localObject7) && (localObject15 == null))) {
                      localObject15 = cd.a((byte)2, false);
                    }
                    this.ub.a(localObject13, localObject15);
                  }
                  ((ab)localObject5).add(localObject13);
                  ((Set)localObject4).add(localObject9);
                  this.qb.a(localObject13, localObject9);
                }
              }
              localObject8 = ((a.c.v)localObject8).a();
            } while (n == 0);
          } while (i1 != 0);
          localObject8 = this.mb.h((e)localObject7).f();
          do
          {
            if (localObject8 == null) {
              break label1959;
            }
            localObject9 = (a.c.d)((a.c.v)localObject8).c();
            if (n != 0) {
              break;
            }
            if (!((Set)localObject4).contains(localObject9))
            {
              localObject10 = (c_)this.qb.get(localObject9);
              localObject11 = ((a.c.d)localObject9).f();
              localObject12 = this.mb.a((e)localObject11, parame);
              if (i1 != 0) {
                continue;
              }
              if ((localObject12 != null) && ((i1 != 0) || (this.mb.b((e)localObject12) == parame)))
              {
                localObject13 = this.pb.a((e)localObject7, (e)localObject12);
                if (i1 == 0) {
                  if (this.Eb != null) {
                    this.Eb.a(localObject13, nb.a("OutEdge", this.Gb.get(localObject9), this.Fb.get(localObject7), this.Fb.get(localObject12)));
                  }
                }
                localObject14 = this.pb.e(localObject13);
                ((zb)localObject14).a(new a.d.w(((c_)localObject10).d.x, ((c_)localObject10).d.y));
                this.ub.a(localObject13, Jb);
                a(this.wb, localObject13, localObject2, this.Ab, localObject9);
                if (i1 == 0)
                {
                  if (localObject12 != localObject11)
                  {
                    a(this.xb, localObject13, localObject3, this.Bb, localObject9);
                    this.vb.a(localObject13, Ib);
                    ((zb)localObject14).b(new a.d.w(((c_)localObject10).e.x, ((c_)localObject10).e.y));
                    if (i1 != 0) {
                      break label1934;
                    }
                    if (((c_)localObject10).m != null)
                    {
                      if (i1 != 0) {
                        break label1933;
                      }
                      if (((c_)localObject10).m.length > 0)
                      {
                        this.Hb.a(localObject13, ((c_)localObject10).m);
                        if (i1 != 0) {
                          break label1933;
                        }
                        if (n == 0) {}
                      }
                    }
                  }
                  else
                  {
                    a(this.xb, localObject13, this.Bb, localObject9);
                  }
                }
                else
                {
                  if (((i1 == 0) && ((((c_)localObject10).l != null) && ((i1 == 0) && (((c_)localObject10).l.length > 0)))) || (((i1 != 0) || (((c_)localObject10).m != null)) && ((i1 != 0) || (((c_)localObject10).m.length > 0))))
                  {
                    if ((i1 != 0) || (((c_)localObject10).l != null))
                    {
                      if (((c_)localObject10).m != null)
                      {
                        this.Hb.a(localObject13, a(((c_)localObject10).m, ((c_)localObject10).l));
                        if (i1 == 0) {
                          if (n == 0) {
                            break label1833;
                          }
                        }
                      }
                      else
                      {
                        if (i1 != 0) {
                          break label1828;
                        }
                        this.Hb.a(localObject13, ((c_)localObject10).l);
                      }
                      if (n == 0) {
                        break label1833;
                      }
                    }
                    this.Hb.a(localObject13, ((c_)localObject10).m);
                  }
                  localObject15 = null;
                  if (i1 == 0)
                  {
                    if (this.zb != null) {
                      this.pb.b((a.c.d)localObject13, this.pb.q((a.c.d)localObject9));
                    }
                  }
                  else {
                    localObject15 = this.zb.get(localObject9);
                  }
                  if ((i1 != 0) || ((localObject12 == localObject7) && (localObject15 == null))) {
                    localObject15 = cd.a((byte)1, false);
                  }
                  this.vb.a(localObject13, localObject15);
                }
                ((ab)localObject5).add(localObject13);
                ((Set)localObject4).add(localObject9);
                this.qb.a(localObject13, localObject9);
              }
            }
            localObject8 = ((a.c.v)localObject8).a();
          } while (n == 0);
        }
        localObject6 = ((a.c.v)localObject6).a();
      } while (i1 != 0);
    } while (n == 0);
    label1251:
    label1252:
    label1277:
    localObject6 = this.pb.v();
    label1828:
    label1833:
    label1977:
    do
    {
      if (!((a.c.w)localObject6).e()) {
        break;
      }
      localObject7 = ((a.c.w)localObject6).d();
      if (i1 == 0)
      {
        if (!localHashSet.contains(localObject7)) {
          this.ob.a((e)localObject7);
        }
        ((a.c.w)localObject6).f();
      }
    } while (n == 0);
    label1933:
    label1934:
    label1959:
    localObject6 = new HashMap();
    Object localObject7 = new bb();
    Object localObject8 = this.mb.g(parame).f();
    label2362:
    label2363:
    Object localObject16;
    label2526:
    label2535:
    do
    {
      if (localObject8 == null) {
        break;
      }
      localObject9 = (a.c.d)((a.c.v)localObject8).c();
      localObject10 = (c_)this.qb.get(localObject9);
      localObject11 = ((a.c.d)localObject9).f();
      localObject12 = this.mb.a((e)localObject11, parame);
      localObject13 = null;
      if (i1 != 0) {
        break label2748;
      }
      if (n != 0) {
        break label2733;
      }
      if (i1 == 0) {}
      localObject14 = this.Bb != null ? this.Bb.get(localObject9) : null;
      if ((i1 != 0) || (localObject14 != null)) {
        localObject13 = (e)((Map)localObject6).get(localObject14);
      }
      if (i1 == 0)
      {
        if (localObject13 != null) {
          break label2362;
        }
        localObject13 = this.pb.i();
        this.Cb.a(localObject13, c.fb);
        if (i1 == 0)
        {
          this.pb.b((e)localObject13, 0.0D, 0.0D);
          ((bb)localObject7).add(localObject13);
        }
      }
      else if (localObject14 != null)
      {
        ((Map)localObject6).put(localObject14, localObject13);
        if (i1 != 0) {
          break label2363;
        }
        if (this.Db == null) {
          break label2362;
        }
        if (i1 != 0) {
          break label2363;
        }
        this.Db.a(localObject13, nb.a("UpperGroupNode", localObject14, this.Fb.get(parame)));
        if (n == 0) {
          break label2362;
        }
      }
      if (i1 == 0) {
        if (this.Db != null) {
          this.Db.a(localObject13, nb.a("UpperDUmmyNode", this.Gb.get(localObject9), this.Fb.get(parame)));
        }
      }
      localObject15 = this.pb.a((e)localObject13, (e)localObject12);
      if (i1 == 0) {
        if (this.Eb != null) {
          this.Eb.a(localObject15, nb.a("InEdge", this.Gb.get(localObject9), this.Fb.get(parame), this.Fb.get(localObject12)));
        }
      }
      if ((i1 != 0) || (this.wb != null))
      {
        localObject16 = this.Bb.get(localObject9);
        if (i1 == 0)
        {
          if (localObject16 == null) {
            break label2535;
          }
          if (i1 == 0) {
            this.wb.a(localObject15, localObject16);
          }
        }
        else if (localObject12 == localObject11)
        {
          if (i1 != 0) {
            break label2526;
          }
          this.xb.a(localObject15, localObject16);
          if (n == 0) {
            break label2535;
          }
        }
        a(this.xb, localObject15, localObject3, this.Bb, localObject9);
      }
      if (localObject12 != localObject11)
      {
        localObject16 = this.pb.e(localObject15);
        ((zb)localObject16).b(new a.d.w(((c_)localObject10).e.x, ((c_)localObject10).e.y));
        this.vb.a(localObject15, Ib);
        if (i1 != 0) {
          continue;
        }
        if (n == 0) {}
      }
      else
      {
        if (i1 == 0)
        {
          if (this.zb != null) {
            this.vb.a(localObject15, this.zb.get(localObject9));
          }
        }
        else {
          this.pb.b((a.c.d)localObject15, this.pb.q((a.c.d)localObject9));
        }
        if ((i1 != 0) || (((c_)localObject10).l != null))
        {
          if (i1 != 0) {
            continue;
          }
          if (((c_)localObject10).l.length > 0) {
            this.Hb.a(localObject15, ((c_)localObject10).l);
          }
        }
      }
      this.qb.a(localObject15, localObject9);
      localObject8 = ((a.c.v)localObject8).a();
    } while (n == 0);
    if (i1 == 0)
    {
      label2733:
      this.nb.a((bb)localObject7);
      ((Map)localObject6).clear();
    }
    label2748:
    localObject8 = new bb();
    Object localObject9 = this.mb.h(parame).f();
    label3056:
    label3057:
    Object localObject18;
    label3214:
    do
    {
      if (localObject9 == null) {
        break;
      }
      localObject10 = (a.c.d)((a.c.v)localObject9).c();
      localObject11 = (c_)this.qb.get(localObject10);
      localObject12 = ((a.c.d)localObject10).e();
      localObject13 = this.mb.a((e)localObject12, parame);
      localObject14 = null;
      if (n != 0) {
        break label3426;
      }
      if (i1 == 0) {}
      localObject15 = this.Ab != null ? this.Ab.get(localObject10) : null;
      if ((i1 != 0) || (localObject15 != null)) {
        localObject14 = (e)((Map)localObject6).get(localObject15);
      }
      if (i1 == 0)
      {
        if (localObject14 != null) {
          break label3056;
        }
        localObject14 = this.pb.i();
        this.Cb.a(localObject14, c.fb);
        if (i1 == 0)
        {
          this.pb.b((e)localObject14, 0.0D, 0.0D);
          ((bb)localObject8).add(localObject14);
        }
      }
      else if (localObject15 != null)
      {
        ((Map)localObject6).put(localObject15, localObject14);
        if (i1 != 0) {
          break label3057;
        }
        if (this.Db == null) {
          break label3056;
        }
        if (i1 != 0) {
          break label3057;
        }
        this.Db.a(localObject14, nb.a("LowerGroupNode", localObject15, this.Fb.get(parame)));
        if (n == 0) {
          break label3056;
        }
      }
      if (i1 == 0) {
        if (this.Db != null) {
          this.Db.a(localObject14, nb.a("LowerDummyNode", this.Gb.get(localObject10), this.Fb.get(parame)));
        }
      }
      localObject16 = this.pb.a((e)localObject13, (e)localObject14);
      if (i1 == 0) {
        if (this.Eb != null) {
          this.Eb.a(localObject16, nb.a("OutEdge", this.Gb.get(localObject10), this.Fb.get(localObject13), this.Fb.get(parame)));
        }
      }
      if ((i1 != 0) || (this.wb != null))
      {
        localObject18 = this.Ab.get(localObject10);
        if (localObject18 != null)
        {
          if (localObject13 == localObject12)
          {
            if (i1 != 0) {
              break label3214;
            }
            this.wb.a(localObject16, localObject18);
            if (n == 0) {}
          }
          else
          {
            a(this.wb, localObject16, localObject2, this.Ab, localObject10);
          }
          this.xb.a(localObject16, localObject18);
        }
      }
      if (localObject13 != localObject12)
      {
        localObject18 = this.pb.e(localObject16);
        ((zb)localObject18).a(new a.d.w(((c_)localObject11).d.x, ((c_)localObject11).d.y));
        this.ub.a(localObject16, Jb);
        if (i1 != 0) {
          continue;
        }
        if (n == 0) {}
      }
      else
      {
        if (i1 == 0)
        {
          if (this.yb != null) {
            this.ub.a(localObject16, this.yb.get(localObject10));
          }
        }
        else {
          this.pb.a((a.c.d)localObject16, this.pb.p((a.c.d)localObject10));
        }
        if ((i1 != 0) || (((c_)localObject11).k != null))
        {
          if (i1 != 0) {
            continue;
          }
          if (((c_)localObject11).k.length > 0) {
            this.Hb.a(localObject16, ((c_)localObject11).k);
          }
        }
      }
      this.qb.a(localObject16, localObject10);
      localObject9 = ((a.c.v)localObject9).a();
    } while (n == 0);
    this.nb.b((bb)localObject8);
    try
    {
      if (i1 == 0)
      {
        label3426:
        if ((this.Db != null) && (parame != null)) {
          ((c.a_)I()).b(this.Db.get(parame));
        }
        this.Lb.doLayout(this.pb);
      }
    }
    finally
    {
      if ((this.Db != null) && (parame != null)) {
        ((c.a_)I()).b(null);
      }
    }
    if (paramBoolean)
    {
      localObject9 = null;
      localObject10 = ((ab)localObject5).f();
      do
      {
        do
        {
          if (localObject10 == null) {
            break;
          }
          this.pb.a((a.c.d)((a.c.v)localObject10).c());
          if (i1 != 0) {
            break label3579;
          }
          localObject10 = ((a.c.v)localObject10).a();
          if (n != 0) {
            break label3577;
          }
        } while (n == 0);
      } while (i1 != 0);
      localObject10 = ((bb)localObject8).f();
      label3577:
      label3579:
      do
      {
        do
        {
          if (localObject10 == null) {
            break;
          }
          this.pb.a((e)((a.c.v)localObject10).c());
          if (i1 != 0) {
            break label3633;
          }
          localObject10 = ((a.c.v)localObject10).a();
          if (n != 0) {
            break label3631;
          }
        } while (n == 0);
      } while (i1 != 0);
      for (localObject10 = ((bb)localObject7).f(); localObject10 != null; localObject10 = ((a.c.v)localObject10).a()) {
        label3631:
        label3633:
        this.pb.a((e)((a.c.v)localObject10).c());
      }
    }
    Object localObject10 = this.pb.c(oc.a);
    if (parame != null)
    {
      localObject9 = this.Kb.a(this.pb, parame, parambb);
      localObject11 = (a_)this.rb.get(parame);
      ((a_)localObject11).a = ((Rectangle2D)localObject9);
      if (localObject10 != null)
      {
        localObject12 = new ArrayList(10);
        localObject13 = this.pb.v();
        label3765:
        do
        {
          if (!((a.c.w)localObject13).e()) {
            break;
          }
          localObject14 = ((a.c.w)localObject13).d().h();
          if (localObject14 != null) {}
          while (i1 != 0)
          {
            localObject15 = (kc[])((a.c.k)localObject10).get(localObject14);
            if (i1 != 0) {
              break label3876;
            }
            if (n != 0) {
              break label3874;
            }
            if ((i1 != 0) || (localObject15 != null))
            {
              int i = localObject15.length - 1;
              do
              {
                if (i < 0) {
                  break;
                }
                ((List)localObject12).add(localObject15[i]);
                i--;
                if (i1 != 0) {
                  break label3859;
                }
                if (n != 0) {
                  break label3857;
                }
              } while (n == 0);
            }
            if (i1 != 0) {
              break label3765;
            }
            localObject14 = ((a.c.d)localObject14).i();
            if (n == 0) {
              break;
            }
          }
          ((a.c.w)localObject13).f();
        } while (n == 0);
        label3857:
        label3859:
        label3874:
        label3876:
        ((a_)localObject11).b = ((List)localObject12);
      }
    }
    else
    {
      localObject9 = new Rectangle2D.Double();
    }
    double d3 = ((Rectangle2D)localObject9).getCenterX();
    double d4 = ((Rectangle2D)localObject9).getCenterY();
    Object localObject15 = ((ab)localObject5).f();
    Object localObject17;
    Object localObject20;
    Object localObject22;
    Object localObject23;
    Object localObject24;
    a.d.w localw3;
    label4180:
    label4189:
    do
    {
      do
      {
        if (localObject15 == null) {
          break;
        }
        localObject17 = (a.c.d)((a.c.v)localObject15).c();
        localObject18 = (a.c.d)this.qb.get(localObject17);
        localObject20 = a((a.c.d)localObject18);
        localObject22 = this.pb.e(localObject17);
        localObject23 = ((zb)localObject22).c();
        if (n != 0) {
          break label4615;
        }
        do
        {
          if (((a.c.d)localObject17).e() == ((a.c.d)localObject18).e()) {
            ((List)localObject20).add(new Point2D.Double(((a.d.w)localObject23).a, ((a.d.w)localObject23).b));
          }
          localObject24 = this.pb.r((a.c.d)localObject17);
          int j = 0;
          do
          {
            if (j >= ((zb)localObject22).a()) {
              break;
            }
            localw3 = ((zb)localObject22).a(j);
            ((List)localObject20).add(new Point2D.Double(localw3.a - ((a.d.w)localObject24).a, localw3.b - ((a.d.w)localObject24).b));
            if (i1 != 0) {
              break label4189;
            }
            localObject24 = localw3;
            j++;
            if (n != 0) {
              break label4180;
            }
          } while (n == 0);
        } while (i1 != 0);
        Object localObject25;
        if (((a.c.d)localObject17).f() == ((a.c.d)localObject18).f())
        {
          localObject25 = b((a.c.d)localObject18);
          localw3 = ((zb)localObject22).d();
          ((List)localObject25).add(new Point2D.Double(localw3.a, localw3.b));
        }
        else
        {
          localObject25 = this.pb.s((a.c.d)localObject17);
          ((List)localObject20).add(new Point2D.Double(((a.d.w)localObject25).a - ((a.d.w)localObject24).a, ((a.d.w)localObject25).b - ((a.d.w)localObject24).b));
        }
        this.pb.a((a.c.d)localObject17);
        localObject15 = ((a.c.v)localObject15).a();
      } while (n == 0);
    } while (i1 != 0);
    localObject15 = ((bb)localObject7).f();
    label4477:
    do
    {
      do
      {
        if (localObject15 == null) {
          break;
        }
        localObject17 = (e)((a.c.v)localObject15).c();
        if (n != 0) {
          break label4627;
        }
        localObject18 = ((e)localObject17).h();
        do
        {
          if (localObject18 == null) {
            break;
          }
          localObject20 = (a.c.d)this.qb.get(localObject18);
          localObject22 = b((a.c.d)localObject20);
          localObject23 = this.pb.e(localObject18);
          if (n != 0) {
            break label4684;
          }
          if (((a.c.d)localObject18).f() == ((a.c.d)localObject20).f())
          {
            localObject24 = ((zb)localObject23).d();
            ((List)localObject22).add(new Point2D.Double(((a.d.w)localObject24).a, ((a.d.w)localObject24).b));
          }
          localObject24 = this.pb.s((a.c.d)localObject18);
          int k = ((zb)localObject23).a() - 1;
          do
          {
            if (k < 0) {
              break label4477;
            }
            localw3 = ((zb)localObject23).a(k);
            ((List)localObject22).add(new Point2D.Double(localw3.a - ((a.d.w)localObject24).a, localw3.b - ((a.d.w)localObject24).b));
            localObject24 = localw3;
            k--;
            if ((i1 == 0) && (n != 0)) {
              break;
            }
          } while (n == 0);
          a.d.w localw1 = this.pb.r((a.c.d)localObject18);
          ((List)localObject22).add(new Point2D.Double(localw1.a - ((a.d.w)localObject24).a, localw1.b - ((a.d.w)localObject24).b));
          b((a.c.d)localObject20, localw1.a - d3, localw1.b - d4);
          localObject18 = ((a.c.d)localObject18).i();
          if (i1 != 0) {
            break label4587;
          }
        } while (n == 0);
        this.pb.a((e)localObject17);
        localObject15 = ((a.c.v)localObject15).a();
        if (i1 != 0) {
          break label4927;
        }
      } while (n == 0);
    } while (i1 != 0);
    label4587:
    localObject15 = ((bb)localObject8).f();
    label4615:
    label4627:
    label4629:
    label4684:
    label4817:
    while (n == 0)
    {
      if (localObject15 == null) {
        break;
      }
      localObject17 = (e)((a.c.v)localObject15).c();
      if (n != 0) {
        break label4942;
      }
      localObject18 = ((e)localObject17).i();
      if (localObject18 != null) {}
      do
      {
        localObject20 = (a.c.d)this.qb.get(localObject18);
        localObject22 = a((a.c.d)localObject20);
        localObject23 = this.pb.e(localObject18);
        if (n != 0) {
          break;
        }
        if (((a.c.d)localObject18).e() == ((a.c.d)localObject20).e())
        {
          localObject24 = ((zb)localObject23).c();
          ((List)localObject22).add(new Point2D.Double(((a.d.w)localObject24).a, ((a.d.w)localObject24).b));
        }
        localObject24 = this.pb.r((a.c.d)localObject18);
        int m = 0;
        do
        {
          if (m >= ((zb)localObject23).a()) {
            break label4817;
          }
          localw3 = ((zb)localObject23).a(m);
          ((List)localObject22).add(new Point2D.Double(localw3.a - ((a.d.w)localObject24).a, localw3.b - ((a.d.w)localObject24).b));
          localObject24 = localw3;
          m++;
          if ((i1 == 0) && (n != 0)) {
            break;
          }
        } while (n == 0);
        a.d.w localw2 = this.pb.s((a.c.d)localObject18);
        ((List)localObject22).add(new Point2D.Double(localw2.a - ((a.d.w)localObject24).a, localw2.b - ((a.d.w)localObject24).b));
        a((a.c.d)localObject20, localw2.a - d3, localw2.b - d4);
        localObject18 = ((a.c.d)localObject18).j();
        if (i1 != 0) {
          break label4927;
        }
        if (n == 0) {
          break label4629;
        }
        this.pb.a((e)localObject17);
      } while (i1 != 0);
      localObject15 = ((a.c.v)localObject15).a();
    }
    label4927:
    if (i1 == 0) {
      this.ob.g();
    }
    label4942:
    return localObject9;
  }
  
  private Map O()
  {
    int j = f.o;
    int i = f.n;
    v localv = new v(x());
    rc localrc = this.Lb;
    d_ locald_ = this.nb;
    u localu = y();
    try
    {
      e_ locale_ = new e_(localv);
      locale_.h = locald_.h;
      locale_.g = locald_.g;
      locale_.f = locald_.f;
      this.nb = locale_;
      super.a(this.nb);
      super.a(this.nb);
      super.a(this.nb);
      this.Lb = locale_;
      bb localbb1 = this.mb.d(this.mb.d());
      Object localObject1 = localbb1.g();
      do
      {
        if (localObject1 == null) {
          break;
        }
        e locale = (e)((a.c.v)localObject1).c();
        if (j != 0) {
          break label282;
        }
        if (i != 0) {
          break label251;
        }
        if (j == 0)
        {
          if (this.mb.e(locale))
          {
            bb localbb2 = this.mb.c(locale);
            if (j != 0) {
              continue;
            }
            if (localbb2.size() > 0)
            {
              locale_.l = this.Fb.get(locale);
              a(locale, localbb2, true);
            }
          }
          localObject1 = ((a.c.v)localObject1).b();
        }
      } while (i == 0);
      locale_.l = null;
      if (j == 0)
      {
        label251:
        a(this.mb.d(), this.mb.c(this.mb.d()), true);
        localv.a(null);
      }
      label282:
      localObject1 = localv.a();
      return localObject1;
    }
    finally
    {
      this.Lb = localrc;
      this.nb = locald_;
      super.a(this.nb);
      super.a(this.nb);
      super.a(this.nb);
      a(localu);
    }
  }
  
  private static final void a(a.c.n paramn, Object paramObject1, Object paramObject2, a.c.k paramk, Object paramObject3)
  {
    int i = f.o;
    if (((i != 0) || (paramn != null)) && ((i != 0) || (paramk != null)))
    {
      Object localObject = paramk.get(paramObject3);
      if (localObject != null) {
        paramn.a(paramObject1, nb.a(paramObject2, localObject));
      }
    }
  }
  
  private static final void a(a.c.n paramn, Object paramObject1, a.c.k paramk, Object paramObject2)
  {
    int i = f.o;
    if (((i != 0) || (paramn != null)) && ((i != 0) || (paramk != null)))
    {
      Object localObject = paramk.get(paramObject2);
      if (localObject != null) {
        paramn.a(paramObject1, localObject);
      }
    }
  }
  
  public void doLayout(o paramo)
  {
    super.doLayout(paramo);
  }
  
  private void a(a.c.d paramd, double paramDouble1, double paramDouble2)
  {
    c_ localc_ = (c_)this.qb.get(paramd);
    localc_.d.x = paramDouble1;
    localc_.d.y = paramDouble2;
  }
  
  private void b(a.c.d paramd, double paramDouble1, double paramDouble2)
  {
    c_ localc_ = (c_)this.qb.get(paramd);
    localc_.e.x = paramDouble1;
    localc_.e.y = paramDouble2;
  }
  
  private List a(a.c.d paramd)
  {
    c_ localc_ = (c_)this.qb.get(paramd);
    if (f.o == 0) {
      if (localc_.b == null) {
        localc_.b = new ArrayList();
      }
    }
    return localc_.b;
  }
  
  private List b(a.c.d paramd)
  {
    c_ localc_ = (c_)this.qb.get(paramd);
    if (f.o == 0) {
      if (localc_.c == null) {
        localc_.c = new ArrayList();
      }
    }
    return localc_.c;
  }
  
  public void a(gb paramgb)
  {
    this.nb.g = paramgb;
    super.a(this.nb);
  }
  
  public void a(fb paramfb)
  {
    this.nb.f = paramfb;
    super.a(this.nb);
  }
  
  public fb w()
  {
    return this.nb.f;
  }
  
  public gb x()
  {
    return this.nb.g;
  }
  
  public g P()
  {
    return this.Kb;
  }
  
  public void a(g paramg)
  {
    this.Kb = paramg;
  }
  
  public void a(u paramu)
  {
    this.nb.h = paramu;
    super.a(this.nb);
  }
  
  public u y()
  {
    return this.nb.h;
  }
  
  public void c(byte paramByte)
  {
    super.c(paramByte);
    if ((f.o != 0) || (this.nb != null)) {
      a(super.y());
    }
  }
  
  public void d(byte paramByte)
  {
    super.d(paramByte);
    if ((f.o != 0) || (this.nb != null)) {
      a(super.w());
    }
  }
  
  boolean f(o paramo)
  {
    return super.b(paramo);
  }
  
  void g(o paramo)
  {
    super.a(paramo);
  }
  
  public boolean Q()
  {
    return this.Mb;
  }
  
  public void k(boolean paramBoolean)
  {
    this.Mb = paramBoolean;
  }
  
  protected bb[] a(o paramo, x paramx, int paramInt)
  {
    int j = f.o;
    int i = f.n;
    if (this.rb != null)
    {
      a.c.w localw = paramo.v();
      do
      {
        if (!localw.e()) {
          break;
        }
        e locale = localw.d();
        if ((j == 0) && (i != 0)) {
          break label127;
        }
        a_ locala_ = (a_)this.rb.get(locale);
        if (j == 0)
        {
          if (locala_ != null)
          {
            Rectangle2D localRectangle2D = locala_.a;
            if (j != 0) {
              continue;
            }
            if (localRectangle2D != null) {
              this.pb.b(locale, localRectangle2D.getWidth(), localRectangle2D.getHeight());
            }
          }
          localw.f();
        }
      } while (i == 0);
    }
    label127:
    return super.a(paramo, paramx, paramInt);
  }
  
  public boolean R()
  {
    return this.Vb;
  }
  
  public void l(boolean paramBoolean)
  {
    this.Vb = paramBoolean;
  }
  
  class b_
    implements rc
  {
    b_() {}
    
    public boolean canLayout(o paramo)
    {
      return d.this.f(paramo);
    }
    
    public void doLayout(o paramo)
    {
      d.this.g(paramo);
    }
  }
  
  final class e_
    extends d.d_
    implements rc
  {
    v k;
    Object l;
    
    public e_(v paramv)
    {
      super();
      this.k = paramv;
    }
    
    public bb[] a(o paramo, x paramx, int paramInt)
    {
      int m = f.o;
      int j = f.n;
      this.k.a(this.l, paramo, paramx, paramInt, this.i, this.j, d.this.pb.c(rc.a), d.this.pb.c(rc.b), d.this.pb.c(ed.a), d.this.pb.c(ed.b), d.this.pb.c(ed.c), d.this.pb.c(ed.d));
      bb[] arrayOfbb = new bb[paramInt];
      int i = 0;
      do
      {
        while (j == 0)
        {
          if (i >= arrayOfbb.length) {
            break;
          }
          arrayOfbb[i] = new bb();
          i++;
        }
      } while (m != 0);
      a.c.w localw = paramo.v();
      do
      {
        while (j == 0)
        {
          if (!localw.e()) {
            break;
          }
          if ((m == 0) && (j != 0)) {
            break label224;
          }
          arrayOfbb[paramx.getInt(localw.d())].add(localw.d());
          localw.f();
        }
      } while (m != 0);
      label224:
      return arrayOfbb;
    }
    
    public void a(o paramo, bb[] paramArrayOfbb, a.c.k paramk) {}
    
    public boolean canLayout(o paramo)
    {
      return true;
    }
    
    public void doLayout(o paramo)
    {
      d.this.g(paramo);
    }
  }
  
  class d_
    implements fb, gb, u
  {
    fb f;
    gb g;
    u h;
    bb i;
    bb j;
    
    d_() {}
    
    void a(bb parambb)
    {
      this.i = parambb;
    }
    
    void b(bb parambb)
    {
      this.j = parambb;
    }
    
    public int a(o paramo, x paramx, ab paramab)
    {
      int i5 = f.o;
      int i4 = f.n;
      y localy = new y(paramo);
      int k = 0;
      int m = 0;
      int n = 0;
      a.c.v localv;
      e locale1;
      if (i5 == 0)
      {
        if (this.i != null)
        {
          if (i5 != 0) {
            break label134;
          }
          if (this.i.size() > 0)
          {
            localv = this.i.f();
            do
            {
              if (localv == null) {
                break;
              }
              locale1 = (e)localv.c();
              if (i4 != 0) {
                break label224;
              }
              if (paramo.h(locale1))
              {
                paramx.a(locale1, 0);
                localy.a(locale1);
                k = 1;
              }
              localv = localv.a();
            } while (i4 == 0);
          }
        }
        if (i5 != 0) {
          break label254;
        }
      }
      label134:
      if (((i5 != 0) || (this.j != null)) && ((i5 != 0) || (this.j.size() > 0)))
      {
        localv = this.j.f();
        do
        {
          if (localv == null) {
            break;
          }
          locale1 = (e)localv.c();
          if (i4 != 0) {
            break label224;
          }
          if (paramo.h(locale1))
          {
            localy.a(locale1);
            m = 1;
          }
          localv = localv.a();
        } while (i4 == 0);
      }
      label224:
      if (i5 == 0) {}
      n = ((i5 == 0) && (k != 0) ? 1 : 0) + (m != 0 ? 1 : 0);
      label254:
      if (i5 == 0) {
        if ((this.f instanceof n))
        {
          i2 = 1;
          if (i5 != 0) {
            break label293;
          }
          if (i4 == 0) {
            break label291;
          }
        }
      }
      int i2 = a.a.m.a(paramo, d.this.tb);
      label291:
      label293:
      Object localObject;
      if (i5 == 0) {
        if (i2 > 1)
        {
          i1 = 0;
          localObject = new y(paramo);
          int i3 = i2 - 1;
          label423:
          label438:
          do
          {
            if (i3 < 0) {
              break;
            }
            if (i4 != 0) {
              break label464;
            }
            a.c.w localw = paramo.v();
            do
            {
              do
              {
                if (!localw.e()) {
                  break;
                }
                e locale3 = localw.d();
                if (i5 != 0) {
                  break label438;
                }
                if (i4 != 0) {
                  break label423;
                }
                if (d.this.tb.getInt(locale3) != i3) {
                  ((y)localObject).a(locale3);
                }
                localw.f();
              } while (i4 == 0);
            } while (i5 != 0);
            i1 = Math.max(i1, this.f.a(paramo, paramx, paramab));
            ((y)localObject).g();
            i3--;
          } while (i4 == 0);
        }
      }
      int i1 = this.f.a(paramo, paramx, paramab);
      label464:
      e locale2;
      if (k != 0)
      {
        localObject = paramo.v();
        do
        {
          if (!((a.c.w)localObject).e()) {
            break;
          }
          locale2 = ((a.c.w)localObject).d();
          paramx.a(locale2, paramx.getInt(locale2) + 1);
          ((a.c.w)localObject).f();
          if (i5 != 0) {
            break label537;
          }
          if (i4 != 0) {
            break label535;
          }
        } while (i4 == 0);
      }
      if (i5 == 0) {
        localy.g();
      }
      label535:
      if (k != 0)
      {
        label537:
        localObject = this.i.f();
        do
        {
          if (localObject == null) {
            break;
          }
          locale2 = (e)((a.c.v)localObject).c();
          if (i4 != 0) {
            break label606;
          }
          if (paramo.h(locale2)) {
            paramx.a(locale2, 0);
          }
          localObject = ((a.c.v)localObject).a();
        } while (i4 == 0);
      }
      if ((i5 == 0) && (m != 0))
      {
        label606:
        localObject = this.j.f();
        do
        {
          if (localObject == null) {
            break;
          }
          locale2 = (e)((a.c.v)localObject).c();
          if (i4 != 0) {
            break label684;
          }
          if (paramo.h(locale2)) {
            paramx.a(locale2, i1 + n - 1);
          }
          localObject = ((a.c.v)localObject).a();
        } while (i4 == 0);
      }
      if (i5 == 0) {}
      label684:
      return i1 + n;
    }
    
    public bb[] a(o paramo, x paramx, int paramInt)
    {
      bb[] arrayOfbb = this.g.a(paramo, paramx, paramInt);
      return arrayOfbb;
    }
    
    public void a(o paramo, bb[] paramArrayOfbb, a.c.k paramk)
    {
      a.c.k localk = paramk;
      this.h.a(paramo, paramArrayOfbb, localk);
    }
    
    public void a(x paramx)
    {
      this.h.a(paramx);
    }
    
    public void b(double paramDouble)
    {
      this.h.b(paramDouble);
    }
    
    public void d(double paramDouble)
    {
      this.h.d(paramDouble);
    }
    
    public void c(double paramDouble)
    {
      this.h.c(paramDouble);
    }
    
    public void a(double paramDouble)
    {
      this.h.a(paramDouble);
    }
  }
  
  static final class a_
  {
    public Rectangle2D a;
    public List b;
  }
  
  static final class c_
  {
    private static final kc[] a = new kc[0];
    public List b;
    public List c;
    public Point2D.Double d = new Point2D.Double();
    public Point2D.Double e = new Point2D.Double();
    public int f;
    public int g;
    public double h = 0.0D;
    public double i = 0.0D;
    public kc[] k = this.l = this.m = a;
    public kc[] l;
    public kc[] m;
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.d.d

 * JD-Core Version:    0.7.0.1

 */